package the_eleven_chapter;

import java.io.IOException;
import java.net.ServerSocket;

public class MultiTalkServer {

	// 静态成员变量，记录当前客户的个数
	static int clientnum = 0;

	public static void main(String[] args) {
		// 静态成员变量，记录当前客户的个数
		ServerSocket serverSocket = null;
		boolean listening = true;
		try {
			// 创建一个ServerSocket在端口2000监听客户请求
			serverSocket = new ServerSocket(2000);
		} catch (IOException e) {
			System.exit(-1);
		}
		try {
			// 永远循环监听
			while (listening) {
				// 监听到客户请求，根据得到的Socket对象和客户计数创建服务进程，并启动之
				new ServerThread(serverSocket.accept(), clientnum).start();
				// 增加客户计数
				clientnum++;
			}
			// 关闭ServerSocket
			serverSocket.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
